Bearbeiten

DelBack:
Syntax: DelBack [LINEBEGIN|WORD]. Löscht das vorherige Zeichen (wie Backspace–Taste). Wenn die Schreibmarke nicht in Spalte null steht wird das linksstehende Zeichen gelöscht, sonst das letzte Zeichen der vorherigen Zeile –­ die aktuelle Zeile wird also mit der vorherigen Zeile verbunden. Wenn das Schlüsselwort LINEBEGIN angegeben wird, werden alle Zeichen bis zum Zeilenanfang gelöscht. DelBack WORD hingegen löscht das Wort links von der Schreibmarke.

Delete:
Syntax: Delete [n|LINEEND|WORD]. Löscht das Zeichen unter der Schreibmarke (wie Del–Taste). Wird eine Zahl n als Argument übergeben, wird die angegebene Anzahl Zeichen (Vorgabe: 1) gelöscht. Bei der Angabe des Schalters LINEEND werden alle Zeichen bis zum Zeilenende gelöscht, die nachfolgende Zeile wird jedoch nicht angehängt. Delete WORD löscht das Wort unter der Schreibmarke. Wenn die Schreibmarke auf einem Delimeter (Komma, Punkt, Doppelpunkt, ...) steht, wird nicht nur das Wort rechts von der Schreibmarke gelöscht, sondern auch alle davorstehenden Delimeter.

DelLines:
Syntax: DelLines [n]. Löscht n Zeilen ab der aktuellen Zeile. Wird der Befehl ohne Parameter aufgerufen, wird eine Zeile gelöscht (Vorgabe).

GetASCII:
Resultat: code. Liefert den ASCII-Code code des Zeichens unter der Schreibmarke.

InsASCII:
Syntax: InsASCII code. Fügt ein Zeichen mit dem ASCII-Code code an der aktuelle Position ein. Dieser Befehl ermöglicht es insbesondere, Formatierungszeichen (z.B. einen Zeilenumbruch) in den Text einzufügen.

Insert:
Syntax: Insert string. Fügt den als Parameter übergebenen Text string an der aktuellen Position der Schreibmarke ein. Die Syntax entspricht der des ARexx-Befehls Echo. Da der Befehl nur einen Parameter kennt, kann string auch Leerzeichen enthalten, d.h. es könne quasi beliebig viele (durch Leerzeichen getrennte) Argumente übergeben werden, die zu einem einzigen langen String verknüpft und eingefügt werden. Dieser String darf alle Zeichen des ASCII-Codes beinhalten, insbesondere auch Tabulatoren und Zeilenumbrüche.

Das folgende Beispiel fügt den Namen der Datei an der Cursorposition in den Text ein:

/* Beispiel für Insert */
OPTIONS RESULTS          /* Ergebnisse übermitteln */

Get FILENAME        /* Dateiname mit Pfad besorgen */
Insert "Dateiname:" RESULT         /* und einfügen */

LinkChanges:
Faßt alle bis zum Aufruf von „LinkChangesDone`` folgenden Veränderungen am Text zu einer einzigen Änderung zusammen. So ist es möglich, eine beliebige Anzahl von Änderungen durch einen einzigen Aufruf von „Undo`` rückgängig zu machen. Dieser Befehl ist in Verbindung mit „LinkChangesDone`` beliebig tief schachtelbar. Innerhalb eines solchen Blocks bleiben die Befehle „Undo (ALL)`` und „Redo (ALL)`` jedoch ohne Wirkung.

Das folgende Beispiel aktualisiert eine genormte Informationszeichenkette mit dem Format /* $info: dd/mm/yy, hh:mm:ss, version n */:

/* Beispiel für LinkChanges & LinkChangesDone */
OPTIONS RESULTS

Get POSITION                /* alte Position merken */
p0=RESULT
DisplayOff               /* Darstellung ausschalten */
Set POSITION 0              /* von Beginn an suchen */
Find NEXT "$info:"                 /* Anfang suchen */
Get POSITION                   /* Position erfragen */
IF RESULT > 0 THEN DO                  /* gefunden? */
  LinkChanges          /* Änderungen zusammenfassen */
  Right 10                       /* zum Datum gehen */
  Delete 8         /* altes Datum löschen: dd/mm/yy */
  Insert DATE(European)    /* neues Datum einsetzen */
  Right 2                    /* zur Zeitmarke gehen */
  Delete 8           /* alte Zeit löschen: hh:mm:ss */
  Insert TIME()              /* neue Zeit einsetzen */
  Right 10              /* zur Versionsnummer gehen */
  Read WORD              /* Versionsnummer einlesen */
  ver=RESULT+1           /* Version um eins erhöhen */
  Delete WORD        /* alte Versionsnummer löschen */
  Insert ver       /* neue Versionsnummer einsetzen */
  Title "Version:" ver           /* --> Titelleiste */
  LinkChangesDone                         /* fertig */
  END
ELSE
  Title "Keinen Versionsstring gefunden!"

Set POSITION p0   /* zur alten Position zurückgehen */
DisplayOn            /* Fensterinhalt aktualisieren */

LinkChangesDone:
Schließt den Block aller seit dem korrespondierenden Aufruf von „LinkChanges`` vorgenommenen Änderungen ab.

Read:
Syntax: Read [n|LINE|WORD]. Resultat: string. Liest n Zeichen/eine Zeile/ein Wort aus dem Text. Ohne Angabe von Parametern wird ein Zeichen gelesen. Die gelesene Zeichenkette wird als Resultat string zurückgegeben und kann, wenn die Schreibmarke am Ende des Textes stand, auch leer sein.

Redo:
Syntax: Redo [ALL]. Resultat: 1|0. Macht den vorherigen Aufruf von „Undo`` rückgängig, so daß die letzte Änderung erneuert wird. Um alle zurückgenommenen Änderungen wieder vorzunehmen, muß der Schalter ALL angegeben werden. Ob der Befehl wirklich durchgeführt wurde, läßt sich dem Ergebnis entnehmen (Redo ALL liefert jedoch immer 1).

Wichtiger Hinweis: Die Anzahl der Schritte die zurückgenommen werden können ist letztendlich abhängig von der Einstellung im Dialogfenster „Bearbeitung`` (s. Seite [*]).

Replace:
Syntax: Replace [NEXT|PREV [ICASE|WORD|LINKCHGS|ALL search replace]]. Resultat: 1|0. Sucht die Zeichenkette search und ersetzt sie durch replace. NEXT und PREV geben die Suchrichtung an, ICASE, WORD, LINKCHGS und ALL sind Zusatzoptionen die die Arbeitsweise des Befehls steuern:

NEXT vorwärts suchen
PREV rückwärts suchen
ICASE Groß-/Kleinschreibung nicht unterscheiden
WORD nur Wörter ersetzen
LINKCHGS Änderungen zusammenfassen (bez. ALL)
ALL alle Vorkommen ohne Rückfrage ersetzen

Das Kommando funktioniert, abhängig von den übergebenen Parametern, auf drei verschiedene Arten:

  1. Wenn der Befehl mit Suchrichtung, evtl. Optionen und Such– und Ersetze–String aufgerufen wird, ersetzt er das nächste bzw. alle (Option ALL) Vorkommen von search durch replace.
  2. Wird nur die Suchrichtung (PREV, NEXT) angegeben, werden die Optionen (außer ALL und LINKCHGS) und die Zeichenketten search und replace von dem letzten Aufruf des Befehls bzw. den dort im Dialogfenster getätigten Eingaben übernommen, und dementsprechend das nächste Vorkommen ersezt.
  3. Wenn der Befehl ohne Parameter aufgerufen wird, kann der Benutzer in einem Dialogfenster alle benötigten Parameter selbst einstellen. Die dort vorgenommenen Einstellungen werden beim nächsten Aufruf von Replace NEXT/Replace PREV übernommen (s.a. „Ersetzen``, Abschnitt [*], Seite [*]).

Das Ergebnis gibt an, ob Vorkommen ersetzt wurden. Es ist dann 0, wenn der Benutzer im Dialogfenster „Abbrechen`` gewählt hat, oder die gesuchte Zeichenkette nicht gefunden werden konnte.

ToLower:
Syntax: ToLower [WORD]. Wandelt den markierten Bereich bzw. das Wort unter dem Cursor in Kleinschreibung um.

ToUpper:
Syntax: ToUpper [WORD]. Wandelt den markierten Bereich bzw. das Wort unter dem Cursor in Großschreibung um.

Undo:
Syntax: Undo [ALL]. Resultat: 1|0. Macht die vorhergehende Änderung rückgängig. Undo ALL macht alle gemerkten Änderungen rückgängig. Das Ergebnis lautet dann 0, wenn die vorherige Änderung nicht rückgängig gemacht werden konnte, weil entweder der Text in seinem ursprünglichen Zustand ist (null Änderungen), oder die vorhergehende Änderung nicht aufgezeichnet wurde (Undo-Speicher zu klein, s.a. „Bearbeitung``, Seite [*]).